Polynomial commitment scheme
- Polynomial commitment schemes[KZG,10]
- Opening many polynomials at
- open a polynomial at points
- KZG Ceremony
Polynomial commitment schemes[KZG,10]
Bilinear Group: Univariate polynomials
:
- Sample random
- delete !! (trusted setup)
Honest prover:
:
- , as is a root of
- Compute and , using gp
:
check
Opening many polynomials at
Input: .
Verifier has commitments to 's wants to verifier correctness of 's.
Naive solution
Run KZG for each . Cost: group elemets in proof, pairings for verifier.
Batched opening
- Verifier sends random
- Prover computes combination
- Verifier computes commitment to as
- Prover and verifier use KZG to verify for
Cost: verifier scalar muls to compute
open a polynomial at points
thm[BDFG]: We can open a polynomial at points with 2 verifier scalar mults no matter how large is.
KZG Ceremony
A distributed generation of s.t. no one can reconstruct the trapdoor if at least one of the participants is honest and discards their secrets.
- Sample random , update with secret !
- Check the correctness of
- The contributor knows s.t.
- consists of consecutive powers and